<?php

class checklistController extends Controller
{
   
    public function __construct() {
        parent::__construct();
        //$this->_view->setLayout("PdP");
    }
    
    public function index($pagina = false)
    {
        $checklist = $this->loadModel('checklist');
        $checklist->open();
        $checklist->open();
        //Session::access('Lider');
        if(!$this->filtrarInt($pagina)){
                $pagina = false;
        }
        else{
                $pagina = (int) $pagina;
        }
		
    	$this->getLibrary('paginador');
		
        $this->_view->assign('lista', $checklist->getPreguntas());
        $this->_view->assign('titulo', 'Preguntas :: Lista');
        $this->_view->renderizar('index', 'checklist');
    }
    
    public function nuevo_checklist($id){
        $checklist = $this->loadModel('checklist');
        
        $this->_view->assign('titulo', 'Nuevo checklist');
        $this->_view->assign('datos',array(
            'auditoria' => $id
        ));
        
        if($this->getInt('guardar') == 1){
            $grupo = $this->loadModel("grupo");
            $grupo->open();
            $this->_view->assign('datos', $_POST);
            
            unset($_POST['guardar']);
            
            if(!$grupo->insert($_POST)){
                $this->_view->assign('_error', 'Ocurrio un error al intentar dar de alta al usuario');
                $this->_view->renderizar('nuevo_checklist', 'checklist');
                exit;
            }
            
            $this->redireccionar('auditorias/checklist');
        }       
        
        $this->_view->renderizar('nuevo_checklist', 'checklist');
    }
    
    public function nuevo($id){
        $checklist = $this->loadModel('checklist');
        $checklist->open();
        
        $this->_view->assign('titulo', 'Nueva Pregunta');
        
        //CARGAR CATEGORIAS
        $categorias = $this->loadModel('categoria');
        $categorias->open();
        $tipo_ids[] = 0;
        $tipo_descrip[] = "Seleccione categoria";
        
        foreach($categorias->getCategoria($id) as $tipo){
            $tipo_ids[] = $tipo['id'];
            $tipo_descrip[] = $tipo['descrip'];
        }
        
        $pos = $checklist->getPos($id);
        
        $this->_view->assign('option_tipo_id', $tipo_ids);
        $this->_view->assign('option_tipo_descrip', $tipo_descrip);
        $this->_view->assign('datos', array(
            'grupo' => $id,
            'pos' => ++$pos[0]['pos']
        ));
        
        if($this->getInt('guardar') == 1){
            $this->_view->assign('datos', $_POST);
            
            if(!$this->getInt('clasificacion')){
                $this->_view->assign('_error', 'Debe Seleccionar una categoria');
                $this->_view->renderizar('nuevo', 'checklist');
                exit;
            }
            
            if(!$this->getTexto('pregunta')){
                $this->_view->assign('_error', 'Debe escribir una pregunta');
                $this->_view->renderizar('nuevo', 'checklist');
                exit;
            }
            
            unset($_POST['guardar']);
            
            if(!$checklist->insert($_POST)){
                $this->_view->assign('_error', 'Ocurrio un error al intentar dar de alta al usuario');
                $this->_view->renderizar('nuevo', 'checklist');
                exit;
            }
            
            $this->redireccionar('auditorias/checklist');
        }       
        
        $this->_view->renderizar('nuevo', 'checklist');
    }
    
    public function editar($id){
        $checklist = $this->loadModel('checklist');
        $checklist->open();
        
        if(!$this->filtrarInt($id)){
            $this->redireccionar('auditorias/checklist');
        }
        
        if(!$checklist->get('id_usuario', $this->filtrarInt($id))){
            $this->redireccionar('auditorias/checklist');
        }
        
        $auditor_tipo = $this->loadModel('tipoAuditor');
        $auditor_tipo->open();
        
        foreach($auditor_tipo->gets() as $tipo){
            $tipo_ids[] = $tipo['id'];
            $tipo_descrip[] = $tipo['descrip'];
        }
        
        $this->_view->assign('option_tipo_id', $tipo_ids);
        $this->_view->assign('option_tipo_descrip', $tipo_descrip);
        
        $this->_view->assign('titulo', 'Editar Auditor');
        $this->_view->setJs(array('nuevo'));
        
        if($this->getInt('guardar') == 1){
            $this->_view->assign('datos', $_POST);
            
            if(!$this->getInt('tipo')){
                $this->_view->assign('_error', 'Debe Seleccionar una clasificacion para el auditor');
                $this->_view->renderizar('nuevo', 'auditor');
                exit;
            }
            
            unset($_POST['guardar']);
            
            $checklist->edit('id_usuario', $id, $_POST);
            
            $this->redireccionar('auditorias/checklist');
        }
        
        $this->_view->assign('datos', $this->_model->getAuditor($this->filtrarInt($id)));
        $this->_view->renderizar('editar', 'checklist');
    }
    
    public function eliminar($id){
        $checklist = $this->loadModel('checklist');
        $checklist->open();
        
        //Session::accessStrict(array('Lider'));
        
        if(!$this->filtrarInt($id)){
            $this->redireccionar('auditorias/checklist');
        }
        
        if(!$checklist->get('id_usuario', $this->filtrarInt($id))){
            $this->redireccionar('auditorias/checklist');
        }
        
        if(!$checklist->del('id_usuario', $this->filtrarInt($id))){
            $this->_view->assign('_error', 'Ocurrio un error al intentar eliminar el usuario');
            $this->_view->renderizar('nuevo', 'checklist');
        }
        $this->redireccionar('auditorias/checklist');
    }
}

?>
